<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>

    </style>

    <script src="./react/react.development.js"></script>
    <script src="./react/react-dom.development.js"></script>
    <script src="./react/babel.min.js"></script>
    <script src="./react/prop-types.js"></script>
</head>
<body>
<div id="app"></div>
<script type="text/babel">

    //JSX=JS+xml、
    let app = document.querySelector('#app');
    let root = ReactDOM.createRoot(app);

    class Welcome extends React.Component{
        // age默认0
        static defaultProps = {
            age : 0
        }
        constructor(props) {
            super(props);
            console.log(this.props)
        }
        render(){
            //  不能修改props属性
            // Cannot assign to read only property 'msg' of object '#<Object>'
            //this.props.msg = 'hello world'
            let  {msg, username ,age} = this.props;
            return(
                <div>
                    hello world,Welcome,{msg} , {username} , {age}
                </div>
            )
        }
    }

    let info = {
        msg: 'hi react',
        username: 'lwj',
        //age : 20
    }

    let element = (<Welcome msg = "hi react class"/>)
    element = (<Welcome {...info}/>)

    root.render(element);

</script>
</body>
</html>